﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CenyLetu
{
    class Letenka
    {
        public Zakaznik zakaznik { get; set; }
        public double VahaZavazadel { get; set; }
        public Let Let { get; set; }

        public decimal VypocitejCenu()
        {
            ICena cena = Let;

            if (jeDite())
            {
                cena = new DiteDekorator(cena);
            }

            if (VahaZavazadel >= 5)
            {
                cena = new ZavazadloDekorator(cena, VahaZavazadel);
            }

            if (zakaznik.NaletaneKilometry >= 5000)
            {
                cena = new FrequentFlyerDekorator(cena, zakaznik.NaletaneKilometry);
            }

            return cena.GetCena();
        }

        private bool jeDite()
        {
            double vek;

            DateTime akt = DateTime.Now;
            TimeSpan rozdil = akt - zakaznik.DatumNarozeni;

            vek = (double)rozdil.Days / 365;

            return vek <= 15;
        }


    }
}
